home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2002 #3 / Amiga Plus CD - 2002 - No. 03.iso / AmigaPlus / Tools / Development / stunnel-4.04 / _src / configure.ac < prev    next >
Encoding:
Text File  |  2003-01-01  |  5.7 KB  |  211 lines

  1. # Process this file with autoconf to produce a configure script.
  2.  
  3. AC_INIT(stunnel, 4.04)
  4. AC_CONFIG_AUX_DIR(auto)
  5. AM_INIT_AUTOMAKE(stunnel, 4.04)
  6. AC_CONFIG_SRCDIR(src/stunnel.c)
  7.  
  8. AC_CANONICAL_HOST
  9. AC_PROG_CC
  10. if test "$GCC" = "yes"; then
  11. CFLAGS="$CFLAGS -Wall -Wshadow -Wcast-align -Wpointer-arith"
  12. fi
  13. AC_PROG_INSTALL
  14. AC_PROG_MAKE_SET
  15. AC_DISABLE_STATIC
  16. AC_PROG_LIBTOOL
  17.  
  18. checkssldir() { :
  19.     if test -f "$1/include/openssl/ssl.h"; then
  20.         AC_DEFINE(HAVE_OPENSSL)
  21.         ssldir="$1"
  22.         return 0
  23.     fi
  24.     if test -f "$1/include/ssl.h"; then
  25.         ssldir="$1"
  26.         return 0
  27.     fi
  28.     return 1
  29. }
  30.  
  31. dnl Check for SSL directory
  32. AC_MSG_CHECKING([for SSL directory])
  33. AC_ARG_WITH(ssl,
  34.     [  --with-ssl=DIR          location of installed SSL libraries/include files],
  35.     [
  36.         dnl Check the specified localtion only
  37.         checkssldir "$withval"
  38.     ],
  39.     [
  40.         dnl Search default localtions of SSL library
  41.         for maindir in /usr/local /usr/lib /usr/pkg /usr /var/ssl /opt; do
  42.             for dir in $maindir $maindir/openssl $maindir/ssl; do
  43.                 checkssldir $dir && break 2
  44.             done
  45.         done
  46.     ]
  47. )
  48. if test -z "$ssldir"; then
  49.     AC_MSG_RESULT([Not found])
  50.     echo
  51.     echo "Couldn't find your SSL library installation dir"
  52.     echo "Use --with-ssl option to fix this problem"
  53.     echo
  54.     exit 1
  55. fi
  56. AC_MSG_RESULT([$ssldir])
  57. AC_SUBST(ssldir)
  58. AC_DEFINE_UNQUOTED(ssldir, "$ssldir")
  59.  
  60. AC_ARG_WITH(egd-socket,
  61.     [  --with-egd-socket=FILE  Entropy Gathering Daemon socket pathname],
  62.     [ EGD_SOCKET="$withval" ]
  63. )
  64. if test -n "$EGD_SOCKET" ; then
  65.     AC_DEFINE_UNQUOTED(EGD_SOCKET, "$EGD_SOCKET")
  66. fi
  67.  
  68. dnl Check for user-specified random device
  69. AC_ARG_WITH(random,
  70.     [  --with-random=FILE      read randomness from FILE (default=/dev/urandom)],
  71.     [ RANDOM_FILE="$withval" ],
  72.     [
  73.         dnl Check for random device
  74.         AC_CHECK_FILE("/dev/urandom",
  75.             [
  76.                 RANDOM_FILE="/dev/urandom";
  77.             ]
  78.         )
  79.     ]
  80. )
  81. if test -n "$RANDOM_FILE" ; then
  82.     AC_SUBST(RANDOM_FILE)
  83.     AC_DEFINE_UNQUOTED(RANDOM_FILE, "$RANDOM_FILE")
  84. fi
  85.  
  86. dnl Use RSA?
  87. AC_MSG_CHECKING([whether to disable RSA support])
  88. AC_ARG_ENABLE(rsa,
  89. [  --disable-rsa           Disable RSA support],
  90.     [ AC_MSG_RESULT([yes]); AC_DEFINE(NO_RSA) ],
  91.     [ AC_MSG_RESULT([no]) ]
  92. )
  93.  
  94. dnl Use DH?
  95. AC_MSG_CHECKING([whether to enable DH support])
  96. AC_ARG_ENABLE(dh,
  97. [  --enable-dh             Enable DH support],
  98.     [ AC_MSG_RESULT([yes]); USE_DH=1; AC_DEFINE(USE_DH) ],
  99.     [ AC_MSG_RESULT([no]); USE_DH=0 ]
  100. )
  101. AC_SUBST(USE_DH)
  102.  
  103. dnl Substitute host.
  104. AC_SUBST(host)
  105. AC_DEFINE_UNQUOTED(HOST, "$host")
  106.  
  107. dnl Checks for standard libraries.
  108. AC_CHECK_LIB(nsl, gethostbyname)
  109. AC_CHECK_LIB(socket, socket)
  110.  
  111. # OSF hack instead of simple AC_CHECK_LIB here
  112. AC_MSG_CHECKING([for pthread_create in -lpthread])
  113.     saved_LIBS="$LIBS"
  114.     LIBS="-lpthread $saved_LIBS"
  115.     AC_TRY_LINK([#include <pthread.h>],
  116.       [pthread_create((void *)0, (void *)0, (void *)0, (void *)0)],
  117.       [AC_MSG_RESULT([yes]); AC_DEFINE(HAVE_LIBPTHREAD)],
  118.       [AC_MSG_RESULT([no]); LIBS="$saved_LIBS"])
  119.  
  120. # BSD hack
  121. AC_CHECK_LIB(c_r, pthread_create,
  122.         [ LIBS="$LIBS -pthread"
  123.     AC_DEFINE(HAVE_LIBPTHREAD) ]
  124. )
  125.  
  126. AC_CHECK_LIB(util, openpty)
  127.  
  128. dnl Check for libwrap library.
  129. AC_MSG_CHECKING([whether to use the libwrap (TCP wrappers) library])
  130. AC_ARG_WITH(tcp-wrappers,
  131. [  --with-tcp-wrappers     Use the libwrap (TCP wrappers) library],
  132.   [
  133.     saved_LIBS="$LIBS"
  134.     if test "$withval" = "yes"; then
  135.       AC_MSG_RESULT([yes])
  136.       AC_MSG_CHECKING([for hosts_access in -lwrap])
  137.       LIBS="-lwrap $LIBS"
  138.       AC_TRY_LINK([int hosts_access(); int allow_severity, deny_severity;],
  139.         [hosts_access()],
  140.         [AC_MSG_RESULT([yes]); AC_DEFINE(HAVE_LIBWRAP) wrap_LIB="-lwrap"],
  141.         [AC_MSG_RESULT([not found]); exit 1])
  142.     else
  143.       AC_MSG_RESULT([no])
  144.     fi
  145.     LIBS="$saved_LIBS"
  146.   ],
  147.   [
  148.     AC_MSG_RESULT([(default)])
  149.     AC_MSG_CHECKING([for hosts_access in -lwrap])
  150.     saved_LIBS="$LIBS"
  151.     LIBS="-lwrap $saved_LIBS"
  152.     AC_TRY_LINK([int hosts_access(); int allow_severity, deny_severity;],
  153.       [hosts_access()],
  154.       [AC_MSG_RESULT([yes]); AC_DEFINE(HAVE_LIBWRAP)],
  155.       [AC_MSG_RESULT([no]); LIBS="$saved_LIBS"])
  156.        
  157.   ]
  158. )
  159.  
  160. dnl Add SSL includes and libraries
  161. CFLAGS="$CFLAGS -I$ssldir/include"
  162. LIBS="$LIBS -L$ssldir/lib -lssl -lcrypto"
  163.  
  164. dnl Add BeOS libraries
  165. if test "$host_os" = "beos"; then
  166. LIBS="$LIBS -lbe -lroot -lbind"
  167. fi
  168.  
  169. dnl Check for RSAref library.
  170. AC_MSG_CHECKING([for RSAref library])
  171. saved_LIBS="$LIBS"
  172. LIBS="$saved_LIBS -lRSAglue -L$prefix/lib -lrsaref"
  173. AC_TRY_LINK([], [],
  174. [AC_MSG_RESULT([yes]); ],
  175. [AC_MSG_RESULT([no])]; LIBS="$saved_LIBS")
  176.  
  177. dnl Check PTY device files.
  178. AC_CHECK_FILE("/dev/ptmx", AC_DEFINE(HAVE_DEV_PTMX))
  179. AC_CHECK_FILE("/dev/ptc", AC_DEFINE(HAVE_DEV_PTS_AND_PTC))
  180.  
  181. dnl Checks for header files.
  182. # AC_HEADER_DIRENT
  183. # AC_HEADER_STDC
  184. # AC_HEADER_SYS_WAIT
  185. AC_CHECK_HEADERS(unistd.h sys/select.h tcpd.h pthread.h sys/ioctl.h util.h pty.h stropts.h sys/filio.h sys/resource.h)
  186.  
  187. # dnl Checks for typedefs, structures, and compiler characteristics.
  188. # AC_C_CONST
  189. # AC_TYPE_SIGNAL
  190. # AC_TYPE_SIZE_T
  191. # AC_TYPE_PID_T
  192. # AC_HEADER_TIME
  193.  
  194. dnl Checks for library functions.
  195. AC_CHECK_FUNCS(snprintf vsnprintf openpty _getpty daemon waitpid wait4 sysconf getrlimit pthread_sigmask setgroups localtime_r chroot endhostent)
  196.  
  197. dnl Checks for integer sizes
  198. AC_CHECK_SIZEOF(unsigned char)
  199. AC_CHECK_SIZEOF(unsigned short)
  200. AC_CHECK_SIZEOF(unsigned int)
  201. AC_CHECK_SIZEOF(unsigned long)
  202.  
  203. LIBS="$LIBS $wrap_LIB"
  204.  
  205. CPPFLAGS="$CPPFLAGS -DLIBDIR=\\\"$libdir\\\" -DCONFDIR=\\\"$sysconfdir/stunnel\\\" -DPIDFILE=\\\"$localstatedir/run/stunnel.pid\\\""
  206.  
  207. AC_CONFIG_FILES([Makefile src/Makefile doc/Makefile tools/Makefile tools/stunnel.conf-sample tools/stunnel.init])
  208. AC_OUTPUT
  209.  
  210. # End of configure.in
  211.